import java.util.Arrays;

public class Day07 {
    public static void main(String[] args) {
        float average[];
        average = new float[]{1.1f,2.2f};
        System.out.println(Arrays.toString(average));
        double[] marks;
        marks = new double[]{1.2,3.4};
        System.out.println(Arrays.toString(marks));
    }

    // 判定是否互为字符重排
    public boolean CheckPermutation(String s1, String s2) {
        int[] nums1 = new int[26];
        int[] nums2 = new int[26];
        checkCharacterNums(s1, nums1);
        checkCharacterNums(s2, nums2);
        for(int i = 0; i < nums1.length; i++) {
            if(nums1[i] != nums2[i]) {
                return false;
            }
        }
        return true;
    }

    // 统计字符个数
    private void checkCharacterNums(String s, int[] nums) {
        for(int i = 0; i < s.length(); i++) {
            nums[s.charAt(i) - 'a'] += 1;
        }
    }

    // 最后一块石头的重量
    public int lastStoneWeight(int[] stones) {
        int differ = stones[0];// 只有一个与有多个的效果是一样的
        for(int i = 0; i < stones.length - 1; i++) {
            int[] indexs = getIndexs(stones);
            differ = stones[indexs[0]] - stones[indexs[1]];
            if(differ < 0) {
                differ = -differ;
            }
            stones[indexs[0]] = differ; // 存储差值
            stones[indexs[1]] = 0;// 清 0
        }

        return differ;
    }

    // 寻找最大两个数的下标 调用这个函数说明 stones.length 一定大于等于 2
    private int[] getIndexs(int[] stones) {
        int[] indexs = {0,1};// 最大数的下标
        int indexMin = stones[0] < stones[1] ? 0 : 1; // 最大数的下标 中下标所对应最小数的下标
        for(int i = 2; i < stones.length; i++) {
            // indexs[indexMin] 得到较小值的下标
            if(stones[i] > stones[indexs[indexMin]]) {
                indexs[indexMin] = i;// 更新
                // 如果 stones[i] 比 stones[indexs[(indexMin + 1) % 2]] 小，就不要更新 indexMin 反之就要更新
                indexMin = stones[i] < stones[indexs[(indexMin + 1) % 2]]
                        ? indexMin : (indexMin + 1) % 2;
            }
        }
        return indexs;
    }
}
